package org.convallaria.system.biz.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.convallaria.infrastruct.db.mapper.BaseMapperX;
import org.convallaria.system.biz.entity.SysDept;

/**
 * 系统部门 Mapper 接口
 * 
 * 功能特性：
 * - 继承BaseMapperX，支持多表联查
 * - 支持批量操作的高性能实现
 * - 支持忽略逻辑删除的查询方法
 * - 提供统计和聚合查询方法
 * - 支持自定义SQL片段复用
 * 
 * 业务说明：
 * - 部门管理是组织架构的核心组件
 * - 支持多租户数据隔离
 * - 支持软删除机制
 * - 支持乐观锁并发控制
 * - 支持部门层级管理（树形结构）
 * - 支持部门状态管理
 * - 支持部门负责人和联系方式管理
 * 
 * 层级关系：
 * - parent_id：父部门ID，0表示根部门
 * - ancestors：祖级列表，用逗号分隔，如"0,1,2"
 * - 通过ancestors字段可以快速查询所有子部门
 * 
 * 关联关系：
 * - 与用户表：一对多关系，通过dept_id关联
 * - 与角色表：多对多关系，通过sys_role_dept关联表
 * - 与租户表：多对一关系，通过tenant_id关联
 * 
 * 数据安全：
 * - 支持部门数据权限控制
 * - 支持部门状态控制（正常/停用）
 * - 支持部门层级深度限制
 * - 支持部门编码唯一性约束
 * 
 * @author convallaria
 * @since 1.0.0
 */
@Mapper
public interface SysDeptMapper extends BaseMapperX<SysDept> {

}
